yandex-direct-mcp
A Python SDK and MCP server for the Yandex Direct API v5: campaigns, keywords and reports for an agent
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 suspend, resume, archive and delete ad campaigns
- Can change bids and add keywords, which directly affects budget spend
- Without the sandbox variable it acts on the live ad account
Install
Manual install
poetry installInstall project dependencies.
This is third-party code. Review the repository files before installing.
What it does
The project ships a typed, async Python SDK for the Yandex Direct API v5 and an MCP server on top of it. The server exposes tools to list, suspend, resume, archive and delete campaigns, add keywords and change bids, and to request performance reports and poll until they are ready. The author states the project is early: transport, auth and the campaign/keyword/report services are tested, while campaign creation and type-specific updates are not implemented yet.
Who it is for. For PPC specialists who want to manage Yandex Direct campaigns through an agent.
Good fit when
- You need to quickly pause or resume ad delivery for a list of campaigns
- You need to add keywords or change a bid without opening the Direct interface
- You need a campaign performance report inside a conversation with an agent
Not a fit when
- You need to create new campaigns or change type-specific settings: the server does not support this yet
- You need a stable, well-tested project: the author labels it early development
Example request
Pause the campaigns with zero conversions over the last weekLimitations
The author warns the project is in early development. Campaign creation and type-specific updates are not implemented. Installation is via poetry; there is no packaged npm or PyPI release. A Yandex Direct OAuth token is required, and without sandbox mode the tools act on the live account immediately.
How to disable. Remove the server from your MCP client config and revoke the Yandex Direct OAuth token in the developer console.
MCP
- Transport
- stdio
- Authentication
- API key
| Environment variables | |
|---|---|
| YANDEX_DIRECT_ACCESS_TOKEN required, secret | OAuth token for the Yandex Direct application |
| YANDEX_DIRECT_CLIENT_LOGIN | Client login to act on behalf of an agency |
| YANDEX_DIRECT_USE_OPERATOR_UNITS | Bills points to the operator account instead of the client |
| YANDEX_DIRECT_LANGUAGE | Error message language: ru, en or uk |
| YANDEX_DIRECT_SANDBOX | Routes requests to the API sandbox instead of the live account |
Security check
- Can suspend, resume, archive and delete ad campaigns
- Can change bids and add keywords, which directly affects budget spend
- Without the sandbox variable it acts on the live ad account
README in short
The README states the project goals: a typed SDK and MCP server for the Direct API with clean architecture and full test coverage. It lists environment variables for the token, agency login, operator units, error language and sandbox mode. A table of 13 server tools is given along with a Claude Desktop config example. The development section shows lint, format, type-check and test commands. MIT license.
FAQ
Can it create new campaigns?
No, the author states that campaign creation and type-specific updates are not implemented yet.
Is there protection against accidental spending?
Yes, the YANDEX_DIRECT_SANDBOX variable targets the API sandbox instead of the live account.
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