Yandex Direct MCP with dry-run by default

Yandex Direct MCP Server

20 Yandex Direct tools where every edit shows the plan by default and needs confirm=True to actually send anything

  • 0 ★ on the repository
  • Last commit
  • MIT
MCP server

Broad access

Why this level

  • With confirm=True it actually creates, pauses and archives campaigns
  • Bulk-changes keyword bids with real money
All reasons and checks
Russian stack

olegradinuk/yandex-direct-mcp

Install

Manual install

{
  "mcpServers": {
    "yandex-direct": {
      "command": "python",
      "args": ["/абсолютный/путь/src/server.py"],
      "env": { "YD_TOKEN": "ваш_токен", "YDIRECT_ENV": "sandbox" }
    }
  }
}

Local stdio run; start with YDIRECT_ENV=sandbox.

Access and checks

How we review

Broad accessThe tool can change data, run commands or handle secrets.

  • With confirm=True it actually creates, pauses and archives campaigns
  • Bulk-changes keyword bids with real money

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

What it does

The server gives 20 Direct API v5 tools split into two groups. Six read tools run with no confirmation: campaigns, groups, ads, keywords, balance and a universal report with async polling. The rest (creating and updating campaigns, pausing and resuming, archiving, and working with groups, ads, keywords and bulk bids) are guarded by dry-run: confirm=False by default, so a call only shows the request plan, and actually sending it needs explicit confirm=True. The server converts amounts out of and back into micro-units itself and polls the async Reports API until the report is ready.

Who it is for. For people who want to manage Yandex Direct through Claude but worry about accidentally spending budget on one wrong phrase.

Good fit when

  • You need to find low-CTR keywords and propose bid cuts before changing anything
  • You want protection against accidental money-moving actions built into the server itself, not just the client
  • You need a report with automatic polling of the async Reports API

Not a fit when

  • You want changes applied quickly without the dry-run-then-confirm two-step
  • You need Unified Performance Campaigns, display campaigns or Direct Commander: the server only covers text campaigns
  • You need an official server from Yandex itself

Example request

Show campaigns with this week's spend, find keywords with CTR below 2% and suggest which bids to lower

MCP

Transport
stdio
Authentication
API key

Environment variables

YD_TOKEN required, secret
Yandex Direct OAuth token
YDIRECT_ENV
sandbox or production, switches the API environment

Limitations

Every edit needs two calls: first without confirm to check the plan, then with confirm=True to actually send it, which lengthens the flow. One flag, YDIRECT_ENV, switches between sandbox and production. Not an official Yandex product; stdio transport only.

How to disable. Remove the yandex-direct block from your Claude Desktop or Claude Code client config.

FAQ

Can Claude accidentally spend budget?

By design, per the README, no: every mutating tool runs dry-run until confirm=True is passed explicitly.

How does the server handle Direct's micro-units?

It converts amounts out of micro-units into regular currency and back itself, so no manual math is needed.

Discussion

No questions or reviews yet.

Russian stack

A single-file, dependency-free Node.js Direct API v5 MCP server with a universal direct_call tool and a read-only mode

MCP serverBroad access
Russian stack

A dependency-free, pure Ruby MCP server with 30 tools for Yandex Direct campaigns, ad groups, ads, keywords and reports

MCP serverBroad access6Repository stars
Russian stack

A Python MCP server with 48 Yandex Direct tools and Wordstat frequency lookup, switchable between sandbox and production

MCP serverBroad access1Repository stars

Yandex Direct MCP server (npm)

@theyahia/yandex-direct-mcp

Russian stack

A TypeScript MCP server with an npm package: 20 tools for Yandex Direct campaigns, bids and negative keywords, with money always in rubles

MCP serverBroad access4Repository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
Yandex Direct MCP with dry-run by default (this card)noAPI key0
Yandex Direct MCP server (npm)noAPI key420 tools, money in rubles
Yandex Direct MCP with launch policiesnoAPI key2policies
Bun-based Yandex Direct MCP with Unified Performance and Click.ru proxynokey is optional0Click.ru proxy

README in short

The README presents the project as an engineering demonstration of a safe agentic interface to money: an architecture diagram covering the dry-run guard, micro-unit conversion and async report polling, a table of 20 tools split into read and dry-run-guarded write, and a section on switching sandbox and production via the YDIRECT_ENV flag.

README badge

Report a problem